关于Maven pom.xml中build下的resources标签

resources标签作用:描述工程中资源的位置

示例代码:

1
2
3
4
5
6
7
8
9
10
11
<resource> 
<targetPath>META-INF/plexus</targetPath>
<filtering>false</filtering>
<directory>${basedir}/src/main/plexus</directory>
<includes>
<include>configuration.xml</include>
</includes>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
  • targetPath: 指定build资源到哪个目录,默认是base directory

  • filtering: 指定是否将filter文件(即build下的filters里定义的*.property文件)的变量值在这个resource文件有效,例如上面就指定那些变量值在configuration文件无效。

  • directory: 指定属性文件的目录,build的过程需要找到它,并且将其放到targetPath下,默认的directory是${basedir}/src/main/resources

  • includes: 指定包含文件的patterns,符合样式并且在directory目录下的文件将会包含进project的资源文件。

  • excludes: 指定不包含在内的patterns,如果inclues与excludes有冲突,那么excludes胜利,那些符合冲突的样式的文件是不会包含进来的。

  • testResources: 这个模块包含测试资源元素,其内容定义与resources类似,不同的一点是默认的测试资源路径是${basedir}/src/test/resources,测试资源是不部署的。

注:默认情况下,如果没有指定resources,目前认为自动会将classpath下的src/main/java下的.class文件和src/main/resources下的.xml文件放到target里头的classes文件夹下的package下的文件夹里。如果设定了resources,那么默认的就会失效,就会以指定的includes和excludes为准

文章作者: GeYu
文章链接: https://nuistgy.github.io/2023/01/06/关于Maven pom.xml中build下的resources标签/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yu's Blog